make `cargo --version --verbose` print extra information
authorNathan Froyd <froydnj@gmail.com>
Fri, 27 Jan 2017 17:24:56 +0000 (12:24 -0500)
committerNathan Froyd <froydnj@gmail.com>
Fri, 27 Jan 2017 17:25:42 +0000 (12:25 -0500)
Fixes #3584.

src/bin/cargo.rs

index c9149c51af5cd112139039965a488e92db944f85..8b9d1a23573499c5e19c8523f922deb1910056ae 100644 (file)
@@ -128,7 +128,18 @@ fn execute(flags: Flags, config: &Config) -> CliResult<Option<()>> {
     let _token = cargo::util::job::setup();
 
     if flags.flag_version {
-        println!("{}", cargo::version());
+        let version = cargo::version();
+        println!("{}", version);
+        if flags.flag_verbose > 0{
+            println!("release: {}.{}.{}",
+                     version.major, version.minor, version.patch);
+            if let Some(ref cfg) = version.cfg_info {
+                if let Some(ref ci) = cfg.commit_info {
+                    println!("commit-hash: {}", ci.commit_hash);
+                    println!("commit-date: {}", ci.commit_date);
+                }
+            }
+        }
         return Ok(None)
     }